package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.ProTeam;
import com.ruoyi.system.domain.ProTeamUser;

/**
 * 项目团队管理Mapper接口
 * 
 * @author ruoyi
 * @date 2024-10-07
 */
public interface ProTeamMapper 
{
    /**
     * 查询项目团队管理
     * 
     * @param teamId 项目团队管理主键
     * @return 项目团队管理
     */
    public ProTeam selectProTeamByTeamId(Long teamId);

    /**
     * 查询项目团队管理列表
     * 
     * @param proTeam 项目团队管理
     * @return 项目团队管理集合
     */
    public List<ProTeam> selectProTeamList(ProTeam proTeam);

    /**
     * 新增项目团队管理
     * 
     * @param proTeam 项目团队管理
     * @return 结果
     */
    public int insertProTeam(ProTeam proTeam);

    /**
     * 修改项目团队管理
     * 
     * @param proTeam 项目团队管理
     * @return 结果
     */
    public int updateProTeam(ProTeam proTeam);

    /**
     * 删除项目团队管理
     * 
     * @param teamId 项目团队管理主键
     * @return 结果
     */
    public int deleteProTeamByTeamId(Long teamId);

    /**
     * 批量删除项目团队管理
     * 
     * @param teamIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProTeamByTeamIds(Long[] teamIds);

    /**
     * 批量删除项目团队成员
     * 
     * @param teamIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProTeamUserByTeamIds(Long[] teamIds);
    
    /**
     * 批量新增项目团队成员
     * 
     * @param proTeamUserList 项目团队成员列表
     * @return 结果
     */
    public int batchProTeamUser(List<ProTeamUser> proTeamUserList);
    

    /**
     * 通过项目团队管理主键删除项目团队成员信息
     * 
     * @param teamId 项目团队管理ID
     * @return 结果
     */
    public int deleteProTeamUserByTeamId(Long teamId);
}
